package com.tydic.system.domain;


import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 签署回调
 *
 * @author zr
 * @date 2023-09-15 0:21
 */
@Data

@NoArgsConstructor
public class CreateAndPushCallBack {
    /**
     * 文档在当前系统的唯一识别标识
     */
    /**
     * 文档在当前系统的唯一识别标识
     */
    @NotBlank(message = "文档在当前系统的唯一识别标识不能为空")
    private String docId;

    /**
     * 合同在第三方业务系统的唯一识别标识
     */
    /**
     * 合同在第三方业务系统的唯一识别标识
     */
    @NotBlank(message = "合同在第三方业务系统的唯一识别标识不能为空")
    private String tpDocId;

    /**
     * 文档状态：0.草稿；1.待他人签署；2.已完成；3.已过期；4.已撤销；5.已拒签；6.已逾期，7.已作废，8.填写中，9.已拒填，10.作废确认中
     */
    @NotBlank(message = "文档状态不能为空")
    private Integer contractStatus;

    /**
     * 拒绝签理由
     */
    /**
     * 拒绝签理由
     */
    private String refuseReason;

    /**
     * 签署完成返回，链接受签署接口的安全控制及时效性控制
     */
    /**
     * 签署完成返回，链接受签署接口的安全控制及时效性控制
     */
    private String viewUrl;

    /**
     * 签署完成返回，一次性下载全部签署文件，
     * 链接受签署接口的安全控制及时效性控制，url有效时间为两小时，
     * 并最多支持下载5次
     */
    private String downloadUrl;

    /**
     * 签署流程列表
     */
    private List<Sign> signList;

    /**
     * 已签署完成的签署文件列表，可获取每个文件的下载链接，过程签署文档不作返回
     */
    /**
     * 已签署完成的签署文件列表，可获取每个文件的下载链接，过程签署文档不作返回
     */
    private List<Doc> docList;


}
